🖥️ linux | January 28, 2021
원격 서버에서 SSH 프로토콜을 사용하여 터미널에 접속하려면 다음과 같은 조건이 필요하다.
카페24, 고대디, 가비아 등의 호스팅 서비스나 AWS, Azure, GCP와 같은 클라우드 서비스를 제공하는 업체는 SSH 서비스를 기본 설치된 상태로 제공
$ yum install openssh-server
$ apt install openssh-server
which
명령어를 사용하여 설치가 완료되었는지 확인이 가능
SSH 서버를 구동하기 전, 방화벽 프로그램에서 tcp 포트 22번을 허용해주어야 한다.
운영체제마다 기본으로 사용되는 프로그램이 다를 수 있으므로 구동되고 있는 방화벽이 어떤 것인지 확인한 후 아래 각 방화벽 프로그램 별 명렁어를 입력해야한다. 아래 과정은 모두 root 권한으로 실행
[root@localhost ~]# iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
[root@localhost ~]# firewall-cmd --zone=public --add-port=22/tcp --permanent
[root@localhost ~]# ufw allow 22/tcp
이제 모든 설정이 완료되었다. SSHD 서비스를 시작하여 다른 PC에서 접속할 수 있도록 설정
[root@localhost ~]# service sshd start (또는 systemctl start sshd)
만약 위 명령어로 서비스가 인식되지 않는 경우 sshd 대신 ssh로 입력하여 시도 (service ssh start)
결과가 나타난다면 서비스가 구동 중인 것임
[root@localhost ~]# ps -aef | grep sshd
root 5255 1 1 17:54 ? 00:00:00 /usr/sbin/sshd -D
Active: active 로 나타난다면 서비스가 구동 중인 것임
[root@localhost ~]# service sshd status
Active: active 로 나타난다면 서비스가 구동 중인 것임
[root@localhost ~]# systemctl status sshd
호스트 주소(IP 또는 도메인)와 사용자 정보(Credential)가 있으면 접속이 가능하다. 각각의 SSH 클라이언트 프로그램 마다 접속 방법이 다를 수 있다. (PUTTY 추천)
ifconfig
또는 ip addr
명령어로 ens33 또는 eth0 항목의 inet 항목의 값을 참고하여 접속하면 된다.